package com.wyait.manage.service;


import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wyait.manage.dao.MenuMapper;
import com.wyait.manage.pojo.Menu;
import com.wyait.manage.utils.PageDataResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

/**
 * 导航分类 Service
 */

@Service
public class MenuServiceImpl implements MenuService{
    @Autowired(required = false)
    private MenuMapper menuMapper;


    /**
     * 获取一级导航条菜单
     */
    public List<Menu> getMenus() {
        List<Menu> menuList = menuMapper.getMenus();
        return menuList;
    }

    /**
     * 查询分页导航菜单
     */
    @Override
    public PageDataResult getMenuList(Menu menu, Integer page, Integer limit) {
        PageDataResult pdr = new PageDataResult();
        PageHelper.startPage(page, limit);
        List<Menu> menus = menuMapper.getMenuList(menu);
        // 获取分页查询后的数据
        PageInfo<Menu> pageInfo = new PageInfo<>(menus);
        // 设置获取到的总记录数total：
        pdr.setTotals(Long.valueOf(pageInfo.getTotal()).intValue());
        pdr.setList(menus);
        return pdr;
    }


    /**
     * 导航菜单[新增或更新]
     */
    @Override
    public String setMenu(Menu menu) {
        //如果父级id为空,表示添加的是父导航
//        if(menu.getParentId() ==null){
//            //父导航的上级导航id设置为0
//            menu.setParentId(0);
//            //设置isParent为0 标识为父级导航
//            menu.setIsParent(0);
//        }else{
//            //如果父级id不为空，设置isParent为1 标识为子级导航
//            menu.setIsParent(1);
//        }

        menu.setCreateTime(new Date());
        //如果cid不为空执行更新操作
        if(menu.getCid() != null){
            int i = menuMapper.updateMenu(menu);
            if (i != 0){
                return "ok";
            }else{
                return "更新失败";
            }
        }else{
            //否则执行新增操作
            int i = menuMapper.insert(menu);

            if (i != 0){
                return "ok";
            }else{
                return "新增失败";
            }
        }


    }


    /**
     *根据cid删除导航
     */
    @Override
    public String delMenu(Integer cid) {
        int i = menuMapper.delMenu(cid);
        if (i != 0){
            return "ok";
        }else{
            return "删除失败";
        }
    }


    /**
     * 根据id查询导航
     */
    public Menu findMenuById(Integer cid) {
        Menu menu = menuMapper.findMenuById(cid);

        return menu;
    }


















}
